package api

import (
	"github.com/gin-gonic/gin"
	"github.com/mojocn/base64Captcha"
	"go.uber.org/zap"
	"net/http"
)

// 定义一个验证码store
var store = base64Captcha.DefaultMemStore

func GetCaptcha(ctx *gin.Context) {
	// 自定义宽高的方式
	driver := base64Captcha.NewDriverDigit(80, 240, 4, 0.7, 80)
	// 默认的方式：
	//driver := base64Captcha.DefaultDriverDigit
	cp := base64Captcha.NewCaptcha(driver, store)
	// 创建验证码
	id, b64s, _, err := cp.Generate()
	if err != nil {
		zap.S().Errorf("生成验证码错误,: ", err.Error())
		ctx.JSON(http.StatusInternalServerError, gin.H{
			"msg": "生成验证码错误",
		})
		return
	}

	ctx.JSON(http.StatusOK, gin.H{
		"captchaId": id,
		"img":       b64s,
	})
}
